7 research outputs found

    ADI-based, conditionally stable schemes for seismic P-wave and elastic wave propagation problems

    Get PDF
    The modeling of P-waves has essential applications in seismology. This is because the detection of the P-waves is the first warning sign of the incoming earthquake. Thus, P-wave detection is an important part of an earthquake monitoring system. In this paper, we introduce a linear computational cost simulator for three-dimensional simulations of P-waves. We also generalize our formulations and derivation for elastic wave propagation problems. We use the alternating direction method with isogeometric finite elements to simulate seismic P-wave and elastic propagation problems. We introduce intermediate time steps and separate our differential operator into a summation of the blocks, acting along the particular coordinate axis in the sub-steps. We show that the resulting problem matrix can be represented as a multiplication of three multi-diagonal matrices, each one with B-spline basis functions along the particular axis of the spatial system of coordinates. The resulting system of linear equations can be factorized in linear O\mathcal{O} (N) computational cost in every time step of the semi-implicit method. We use our method to simulate P-wave and elastic wave propagation problems. We derive the condition for the stability for seismic waves; namely, we show that the method is stable when τ < C min{ hx_{x},hy_{y},hz_{z}}, where C is a constant that depends on the PDE problem and also on the degree of splines used for the spatial approximation. We conclude our presentation with numerical results for seismic P-wave and elastic wave propagation problems

    Automatic stabilization of finite-element simulations using neural networks and hierarchical matrices

    Full text link
    Petrov-Galerkin formulations with optimal test functions allow for the stabilization of finite element simulations. In particular, given a discrete trial space, the optimal test space induces a numerical scheme delivering the best approximation in terms of a problem-dependent energy norm. This ideal approach has two shortcomings: first, we need to explicitly know the set of optimal test functions; and second, the optimal test functions may have large supports inducing expensive dense linear systems. Nevertheless, parametric families of PDEs are an example where it is worth investing some (offline) computational effort to obtain stabilized linear systems that can be solved efficiently, for a given set of parameters, in an online stage. Therefore, as a remedy for the first shortcoming, we explicitly compute (offline) a function mapping any PDE-parameter, to the matrix of coefficients of optimal test functions (in a basis expansion) associated with that PDE-parameter. Next, as a remedy for the second shortcoming, we use the low-rank approximation to hierarchically compress the (non-square) matrix of coefficients of optimal test functions. In order to accelerate this process, we train a neural network to learn a critical bottleneck of the compression algorithm (for a given set of PDE-parameters). When solving online the resulting (compressed) Petrov-Galerkin formulation, we employ a GMRES iterative solver with inexpensive matrix-vector multiplications thanks to the low-rank features of the compressed matrix. We perform experiments showing that the full online procedure as fast as the original (unstable) Galerkin approach. In other words, we get the stabilization with hierarchical matrices and neural networks practically for free. We illustrate our findings by means of 2D Eriksson-Johnson and Hemholtz model problems.Comment: 28 pages, 16 figures, 4 tables, 6 algorithm

    Automatic stabilization of finite-element simulations using neural networks and hierarchical matrices

    Get PDF
    Petrov–Galerkin formulations with optimal test functions allow for the stabilization of finite element simulations. In particular, given a discrete trial space, the optimal test space induces a numerical scheme delivering the best approximation in terms of a problem-dependent energy norm. This ideal approach has two shortcomings: first, we need to explicitly know the set of optimal test functions; and second, the optimal test functions may have large supports inducing expensive dense linear systems. A concise proposal on how to overcome these shortcomings has been raised during the last decade by the Discontinuous Petrov–Galerkin (DPG) methodology. However, DPG has also some limitations and difficulties: the method requires ultraweak variational formulations, obtained through a hybridization process, which is not trivial to implement at the discrete level. Our motivation is to offer a simpler alternative for the case of parametric PDEs, which can be used with any variational formulation. Indeed, parametric families of PDEs are an example where it is worth investing some (offline) computational effort to obtain stabilized linear systems that can be solved efficiently in an online stage, for a given range of parameters. Therefore, as a remedy for the first shortcoming, we explicitly compute (offline) a function mapping any PDE parameter, to the matrix of coefficients of optimal test functions (in some basis expansion) associated with that PDE parameter. Next, as a remedy for the second shortcoming, we use the low-rank approximation to hierarchically compress the (non-square) matrix of coefficients of optimal test functions. In order to accelerate this process, we train a neural network to learn a critical bottleneck of the compression algorithm (for a given set of PDE parameters). When solving online the resulting (compressed) Petrov–Galerkin formulation, we employ a GMRES iterative solver with inexpensive matrix–vector multiplications thanks to the low-rank features of the compressed matrix. We perform experiments showing that the full online procedure is as fast as an (unstable) Galerkin approach. We illustrate our findings by means of 2D–3D Eriksson–Johnson problems, together with 2D Helmholtz equation

    Algorithm for constructing element partition trees for finite element method

    No full text
    Poniższa praca magisterska przedstawia zagadnienie konstrukcji drzew podziałów siatki, znajdujące zastosowanie w metodzie elementów skończonych. Stanowi ona kontynuację mojej pracy licencjackiej, pt. „Projekt i implementacja algorytmu rozwiązywania problemu podziału grafu”, poprzez wykorzystanie opracowanego i zaimplementowanego w niej algorytmu podziału grafu do znajdywania drzewa podziałów siatki oraz wprowadzenie dodatkowych modyfikacji algorytmu skracających czas jego działania dla dużych grafów. W ramach pracy został zaimplementowany w języku C++ algorytm konstruujący drzewo podziałów siatki.Ponadto, zaimplementowane zostały dodatkowe elementy algorytmu podziału grafu - poprzez fazę redukcji liczby wierzchołków przed dokonaniem właściwego podziału, a także algorytm KL refinement, mający na celu optymalizację podziałów grafu po dokonaniu odbudowy jego oryginalnej struktury.Dodatkowym zaimplementowanym elementem pracy jest również generator dużych grafów, reprezentujących siatkę elementów skończonych.Jako część pracy dokonano testów działania algorytmu na przykładowych (zarówno dużych, jak i mniejszych) grafach.Praca zawiera analizę otrzymanych wyników i wnioski, wraz z propozycjami dalszego kierunku rozwoju projektu.This master's thesis presents the problem of construction of element partition trees, which are used in Finite Elements Method. It’s a continuation of my bachelor's thesis entitled “Project and implementation of a graph partitioning problem“. It uses analysed and implemented in the bachelor’s thesis algorithm that solves a graph partitioning problem in the aim of generating the element partition trees. It introduces new parts of graph partitioning algorithm, which reduces execution time of the generation trees, especially for big graphs.During the work, I implemented in C++ the algorithm generating element partition trees.Moreover, I implemented additional elements of graph partitioning algorithm, by introducing 2 additional phases.The first additional phase is reduction of number of nodes in graph before execution of the partitioning phase.The second phase is KL refinement algorithm, which optimize a partition of the graph after rebuilding of it’s original structure.Additional part of the project is also a generator of big graphs representing finite element mesh. As a part of this thesis was executed testing of algorithm with the use of sample graphs (containing small and great number of nodes).Project includes analysis of the results of tests execution with proposed next steps of development of the project

    Project and implementation of a graph partitioning problem.

    No full text
    Poniższa praca licencjacka przedstawia analizę i implementację algorytmu rozwiązującego problem podziału grafu. Celem algorytmu jest dokonanie podziału grafu ważonego, z wagami wierzchołków i wagami krawędzi w ten sposób, by uzyskać podział grafu na dwie części, które będą miały równe (albo jak najbardziej zbliżone do siebie) sumy wag wierzchołków. Jednocześnie chcemy, by podział ten powodował przecięcie krawędzi o jak najmniejszej sumie wag.Algorytm został napisany w oparciu o algorytm GGGP (Greedy Growing Graph Partition).Dzięki analizie rezultatów podziałów dla różnych grafów, udało się zaprojektować i zaimplementować algorytm korzystniejszy w kontekście grafów reprezentujących siatkę elementów skończonych.This bachelor's thesis presents the analysis and implementation of a graph partition problem.The aim of the algorithm is to make a partition of a weighted graph, with weights of nodes and weights of edges in the way which enable us to get two parts of the graph, which have equal (or as most similar as possible) sums of weights of the nodes. Moreover, we want this partition to cause deleting of edges which have as low as possible sum of weights.Algorithm has been written on a base of GGGP (Greedy Growing Graph Partition) algorithm.Thanks to the analysis of the tests' results for many different graphs, I was able to project and implement algorithm better than GGGP in the context of the graphs which represent finite element method mesh
    corecore